package dp;


import java.util.ArrayList;
import java.util.List;

/**
 * https://leetcode.cn/problems/pascals-triangle/?envType=study-plan-v2&envId=top-100-liked
 *
 * 输入: numRows = 5
 * 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
 */
public class _118_杨辉三角 {

    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> result = new ArrayList<>(numRows);
        result.add(List.of(1));

        for (int i = 1; i < numRows; i++) {
            List<Integer> res = new ArrayList<>();
            res.add(1);
            for (int j = 1; j < i; j++) {
                res.add(result.get(i - 1).get(j - 1) + result.get(i-1).get(j));
            }
            res.add(1);
            result.add(res);
        }

        return result;
    }
}
